﻿Namespace EIB.BusData
    Public Enum EIBBusData_EMICode As Byte
        'FROM NETWORK LAYER TO DATA LINK LAYER
        L_Raw_req = &H10
        L_Data_req = &H11  'Data Service. Primitive used for transmitting a data frame
        L_Poll_Data_req = &H13  'Poll Data Service

        'FROM DATA LINK LAYER TO NETWORK LAYER
        L_Poll_Data_con = &H25  'Poll Data Service
        L_Data_ind = &H29  'Data Service. Primitive used for receiving a data frame
        L_Busmon_ind = &H2B  'Bus Monitor Service
        L_Raw_ind = &H2D
        L_Data_con = &H2E  'Data Service. Primitive used for local confirmation that a frame was sent
        L_Raw_con = &H2F

        A_Data_Group_req = &H72
        A_Data_Group_con = &HEE
        A_Data_Group_ind = &HEA
        A_Poll_Data_req = &H73
        A_Poll_Data_con = &HE5

        'M_Connect_req
        'M_Connect_con
        M_Connect_ind = &HD5
        'M_Disconnect_req
        'M_Disconnect_con
        M_Disconnect_ind = &HD7
        M_User_Data_Connected_req = &H82
        M_User_Data_Connected_con = &HD1
        M_User_Data_Connected_ind = &HD2
        M_User_Data_Individual_req = &H81
        M_User_Data_Individual_con = &HDE
        M_User_Data_Individual_ind = &HD9
        M_InterfaceObj_Data_req = &H9A
        M_InterfaceObj_Data_con = &HDC
        M_InterfaceObj_Data_ind = &HD4
        M_Prop_Read_Req = &HFC
        M_Prop_Read_Con = &HFB
        M_Prop_Write_Req = &HF6
        M_Prop_Write_Con = &HF5
        M_Prop_Info_Ind = &HF7
        M_Reset_Req = &HF1
        M_Reset_Ind = &HF0

        N_Data_Individual_req = &H13
        N_Data_Individual_con = &H4E
        N_Data_Individual_ind = &H49
        N_Data_Group_req = &H22
        N_Data_Group_con = &H3E
        N_Data_Group_ind = &H3A
        N_Data_Broadcast_req = &H2C
        N_Data_Broadcast_con = &H4F
        N_Data_Broadcast_ind = &H4D
        N_Poll_Data_req = &H23
        N_Poll_Data_con = &H35

        T_Connect_req = &H43
        T_Connect_con = &H86
        T_Connect_ind = &H85
        T_Disconnect_req = &H44
        T_Disconnect_con = &H88
        T_Disconnect_ind = &H87
        T_Data_Connected_req = &H41
        T_Data_Connected_con = &H8E
        T_Data_Connected_ind = &H89
        T_Data_Group_req = &H32
        T_Data_Group_con = &H7E
        T_Data_Group_ind = &H7A
        T_Data_Broadcast_req = &H4C
        T_Data_Broadcast_con = &H8F
        T_Data_Broadcast_ind = &H8D
        T_Data_Individual_req = &H4A
        T_Data_Individual_con = &H9C
        T_Data_Individual_ind = &H94
        T_Poll_Data_req = &H33
        T_Poll_Data_con = &H75

        U_Value_Read_req = &H74
        U_Value_Read_con = &HE4
        U_Flags_Read_req = &H7C
        U_Flags_Read_con = &HEC
        U_Event_ind = &HE7
        U_Value_Write_req = &H71
        U_User_data = &HD0

        PC_SetValue_req = &HA6
        PC_GetValue_req = &HAC
        PC_GetValue_con = &HAB

        PEI_Identify_req = &HA7
        PEI_Identify_con = &HA8
        PEI_Switch_req = &HA9

        TM_Timer_ind = &HC1
    End Enum

    Public Enum EIBBusData_FrameType As Byte
        Extended = 0
        Standard = 1
    End Enum

    Public Enum EIBBusData_FrameRepeatFlag As Byte
        Repeated = 0
        NewData = 1
    End Enum

    Public Enum EIBBusData_FrameBroadcastType As Byte
        System = 0
        Broadcast = 1
    End Enum

    Public Enum EIBBusData_FramePriority As Byte
        System = 0
        Alert = 2
        High = 1 'Normal
        Normal = 3
    End Enum

    Public Enum EIBBusData_FrameDestinationType As Byte
        PhysicalAddress = 0
        GroupAddress = 1
    End Enum

    Public Enum EIBBusData_FrameACPI_L_Data_Type As Byte
        Read = 0
        Response = 1
        Write = 2
    End Enum
End Namespace